package com.example.teachingSystem.service;

import com.example.teachingSystem.pojo.entity.SysMenu;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.teachingSystem.pojo.form.menu.AddMenuForm;
import com.example.teachingSystem.pojo.form.menu.ChangeMenuForm;
import com.example.teachingSystem.pojo.form.menu.MenuPageQuery;
import com.example.teachingSystem.pojo.vo.MenuInfoVo;
import com.example.teachingSystem.pojo.vo.OptionVo;
import com.example.teachingSystem.pojo.vo.RouteVo;
import com.example.teachingSystem.utils.result.PageResult;
import com.example.teachingSystem.utils.result.Result;

import java.util.List;

/**
* @author 86147
* @description 针对表【sys_menu(菜单管理)】的数据库操作Service
* @createDate 2023-12-06 13:56:12
*/
public interface SysMenuService extends IService<SysMenu> {
    Result<MenuInfoVo> getMenuById(Long id);

    PageResult<MenuInfoVo> getMenuPage(MenuPageQuery menuPageQuery);

    Result<String> addMenu(AddMenuForm addMenuForm);

    Result<String> updateMenu(ChangeMenuForm changeMenuForm);

    Result<String> deleteMenu(Long id);

    Result<List<MenuInfoVo>> getMenuOptions();

    Result<List<RouteVo>> getRoutes(Long roleId);
}
